
// #ifndef VUE3
import Vue from 'vue'
import App from './App'


// 导入 store 的实例对象并挂载到 Vue 的实例上
import store from './store/store.js'

//导入网络请求的包
import { $http } from '@escook/request-miniprogram'

// 导入自己封装的 mixin 模块
import badgeMix from '@/mixins/tabbar-badge.js'

Vue.config.productionTip = false

Vue.mixin(badgeMix)

//在顶级对象上挂载属性
uni.$http = $http

//请求的根路径
// $http.baseUrl = 'https://api-ugo-web.itheima.net'

// 请求开始之前做一些事情（请求拦截器）
$http.beforeRequest = function (options) {
  // do somethimg...
  uni.showLoading({
  	title: '数据马上就来...'
  })
  
  console.log(options);
  
  // 判断请求的是否为有权限的 API 接口
  if (options.url.indexOf('/my/') !== -1) {
	  // 为请求头添加身份认证字段
	  options.header = {
		  // 字段的值可以直接从 vuex 中进行获取
		  Authorization: store.state.m_user.token,
	  }
  }
}

// 请求完成之后做一些事情（相应拦截器）
$http.afterRequest = function () {
  // do something...
  uni.hideLoading()
}

//封装弹框的方法
uni.$showMsg = function(title='数据请求失败！',duration=1500){
	uni.showToast({
		title,
		duration,
		icon:'none',
	})
}

App.mpType = 'app'

const app = new Vue({
    ...App,
	// 2. 将 store 挂载到 Vue 实例上
	store,
})
app.$mount()
// #endif

// #ifdef VUE3
import { createSSRApp } from 'vue'
import App from './App.vue'
export function createApp() {
  const app = createSSRApp(App)
  return {
    app
  }
}
// #endif